home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio 5 / Ray Dream.iso / pc / DreamSDK / Windows / SAMPLES / POSTR / SAND / COMSAND.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-11  |  1.9 KB  |  69 lines

  1. // Copyright (c)1995 Ray Dream, Inc. All Rights Reserved.
  2. /*$Id: COMSand.h 1.4 1997/07/01 18:19:09 damien Exp $*/
  3.  
  4. //
  5. // COM Example of a Post Renderer
  6. //
  7.  
  8. #ifndef __COMSand__
  9. #define __COMSand__  
  10.  
  11. #ifndef __I3DEXAB__
  12. #include "I3DExPos.h"
  13. #endif
  14.  
  15. #ifndef __I3DSHUTI__
  16. #include "I3DShUti.h"
  17. #endif
  18.                   
  19. // define the Sand CLSID
  20.  
  21. // {67FB7860-F9EE-11cf-9A2C-0020AF28193A}
  22. DEFINE_GUID(CLSID_Sand, 0x67fb7860L, 0xf9ee, 0x11cf, 0x9a, 0x2c, 0x00, 0x20, 0xaf, 0x28, 0x19, 0x3a);
  23.  
  24.  
  25. extern IShUtilities* sandShellUtilities;
  26.  
  27.  
  28. typedef struct SandData {
  29.     // nothing yet
  30.   } SandData;
  31.  
  32.  
  33. // Sand Object :
  34. #undef INTERFACE
  35. #define INTERFACE Sand
  36. class Sand : public I3DExPostRenderer {
  37. public :  
  38.   Sand();
  39.   ~Sand();
  40.   
  41.   // IUnknown Interface :
  42.   STDMETHODIMP         QueryInterface(THIS_ REFIID riid, LPVOID* ppvObj);
  43.   STDMETHODIMP_(ULONG) AddRef(THIS);
  44.   STDMETHODIMP_(ULONG) Release(THIS);
  45.   
  46.   // I3DExtension method :
  47.   STDMETHODIMP_(I3DExtension*) Clone(THIS);
  48.   STDMETHODIMP                 ShellUtilitiesInit(THIS_ IShUtilities* shellUtilities);  
  49.   
  50.   // I3DExDataExchanger methods :
  51.   STDMETHODIMP_(ExtensionDataMap*) GetExtensionDataMap(THIS);
  52.   STDMETHODIMP_(void*)             GetExtensionDataBuffer(THIS);
  53.   STDMETHODIMP                     ExtensionDataChanged(THIS);
  54.   STDMETHODIMP                     HandleEvent(THIS_ ULONG sourceID);
  55.   STDMETHODIMP_(short)             GetResID(THIS);
  56.   
  57.   // I3DExPostRenderer methods
  58.     STDMETHODIMP_(void)                             Filter (THIS_ I3DShScene* theScene,IShRasterOffscreen* theImage,IUnknown** theBuffers,
  59.                                                                         IShGraphicDevice* gd, /*TExternalRenderer*/void* renderer, void* renderHelper);
  60.     STDMETHODIMP_(void)                             GetBufferNeeds (THIS_ /*RenderFilterNeeds&*/long* needs, /*TExternalRenderer*/void* renderer);
  61.   
  62. private :
  63.   ULONG     fCRef;      // reference Counter
  64.   //SandData fData;      // Sandpheric Data
  65.   };
  66.  
  67.  
  68. #endif
  69.